﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Cotizav.CONEXION.DataSet;
using Cotizav.CONTROLADOR;
using Microsoft.Reporting.WinForms;

namespace Cotizav.PRESENTACION.Cotizacion.Report
{
    public partial class RepCotizacionPrueba : Form
    {
        CtrlCotizacion_Detalle ctCotizacionDetalle;
        CtrlCondicionCotizacion ctCondicionCotizacion;
        
        public RepCotizacionPrueba()
        {
            InitializeComponent();

            ctCotizacionDetalle = new CtrlCotizacion_Detalle();
            ctCondicionCotizacion = new CtrlCondicionCotizacion();
        }

        private void RepCotizacionPrueba_Load(object sender, EventArgs e)
        {
            DataSetCotizav.usp_listarCotizacionDetalleDataTable dtPrueba = this.loadDS_CotizacionDetalle("COT_00000000004");
            DataSetCotizav.usp_listarCondicionCotizacion_AlquilerDataTable dtCondAlquiler = this.loadDS_CondicionCotizacion_Alquiler("COT_00000000004");
            DataSetCotizav.usp_listarCondicionCotizacion_ComercialDataTable dtCondComercial = this.loadDS_CondicionCotizacion_Comercial("COT_00000000004");
            DataSetCotizav.usp_listarCondicionCotizacion_InformacionAdicionalDataTable dtCondInformacionAdicional = this.loadDS_CondicionCotizacion_InformacionAdicional("COT_00000000004");

            this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ds_CotizacionDetalle", dtPrueba.ToList()));
            this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ds_CondicionCotizacionAlquiler", dtCondAlquiler.ToList()));
            this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ds_CondicionCotizacionComercial", dtCondComercial.ToList()));
            this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ds_CondicionCotizacionInformacionAdicional", dtCondInformacionAdicional.ToList()));
            this.reportViewer1.RefreshReport();
        }

        private DataSetCotizav.usp_listarCotizacionDetalleDataTable loadDS_CotizacionDetalle(string idCotizacion)
        {
            DataSetCotizav.usp_listarCotizacionDetalleDataTable dt = new DataSetCotizav.usp_listarCotizacionDetalleDataTable();

            if (!string.IsNullOrWhiteSpace(idCotizacion))
            {
                DataTable dtResult = ctCotizacionDetalle.getListCotizacionDetallexCotizacion(idCotizacion);

                foreach (DataRow dr in dtResult.Rows)
                {
                    dt.Rows.Add
                        (
                            dr[0].ToString(),
                            dr[1].ToString(),
                            dr[2].ToString(),
                            dr[3].ToString(),
                            dr[4].ToString(),
                            dr[5].ToString(),
                            dr[6].ToString(),
                            dr[7].ToString(),
                            dr[8].ToString(),
                            dr[9].ToString(),
                            dr[10].ToString(),
                            dr[11].ToString(),
                            dr[12].ToString(),
                            dr[13].ToString(),
                            dr[14].ToString(),
                            dr[15].ToString(),
                            dr[16].ToString(),
                            dr[17].ToString(),
                            dr[18].ToString(),
                            dr[19].ToString()
                         );
                }
            }

            return dt;
        }

        private DataSetCotizav.usp_listarCondicionCotizacion_AlquilerDataTable loadDS_CondicionCotizacion_Alquiler(string idCotizacion)
        {
            DataTable dtResult = ctCondicionCotizacion.getListCondicionCotizacion_Alquiler(idCotizacion);
            DataSetCotizav.usp_listarCondicionCotizacion_AlquilerDataTable dt = new DataSetCotizav.usp_listarCondicionCotizacion_AlquilerDataTable();

            foreach (DataRow dr in dtResult.Rows)
            {
                dt.Rows.Add(dr[0].ToString(), dr[1].ToString());
            }

            return dt;
        }

        private DataSetCotizav.usp_listarCondicionCotizacion_ComercialDataTable loadDS_CondicionCotizacion_Comercial(string idCotizacion)
        {
            DataTable dtResult = ctCondicionCotizacion.getListCondicionCotizacion_Comercial(idCotizacion);
            DataSetCotizav.usp_listarCondicionCotizacion_ComercialDataTable dt = new DataSetCotizav.usp_listarCondicionCotizacion_ComercialDataTable();

            foreach (DataRow dr in dtResult.Rows)
            {
                dt.Rows.Add(dr[0].ToString(), dr[1].ToString());
            }

            return dt;
        }

        private DataSetCotizav.usp_listarCondicionCotizacion_InformacionAdicionalDataTable loadDS_CondicionCotizacion_InformacionAdicional(string idCotizacion)
        {
            DataTable dtResult = ctCondicionCotizacion.getListCondicionCotizacion_InformacionAdicional(idCotizacion);
            DataSetCotizav.usp_listarCondicionCotizacion_InformacionAdicionalDataTable dt = new DataSetCotizav.usp_listarCondicionCotizacion_InformacionAdicionalDataTable();

            foreach (DataRow dr in dtResult.Rows)
            {
                dt.Rows.Add(dr[0].ToString(), dr[1].ToString());
            }

            return dt;
        }
    }
}
